home *** CD-ROM | disk | FTP | other *** search
/ Amiga Mag HDD Backup / Amiga Mag HDD Backup.zip / Amiga Mag HDD Backup / Alexander.img.bin / Alexander.img / ***AC March⁄April / Irvine material / Mozart < prev   
Text File  |  1984-07-17  |  2KB  |  87 lines

  1.  REM  Mozart's Dice Game
  2.  DIM nt(24)
  3.        nt(0) = 0
  4.       nt(1) = 137.5 : nt(13) = 275   ' C
  5.       nt(2) = 143.8 : nt(14) = 287.6 ' C+
  6.       nt(3) = 154.1 : nt(15) = 308.2 ' D
  7.       nt(4) = 162.9 : nt(16) = 325.8 ' D+
  8.       nt(5) = 171.8 : nt(17) = 343.6 ' E
  9.       nt(6) = 183.3 : nt(18) = 366.6 ' F
  10.       nt(7) = 194.7 : nt(19) = 389.4 ' F+
  11.       nt(8) = 206.2 : nt(20) = 412.4 ' G
  12.       nt(9) = 217.6 : nt(21) = 435.2 ' G+
  13.      nt(10) = 229.1 : nt(22) = 458.2 ' A
  14.      nt(11) = 243.4 : nt(23) = 486.8 ' A+
  15.      nt(12) = 257.8 : nt(24) = 515.6 ' B
  16.  CLS
  17.  INPUT "pick any number 1-32767";x
  18.  RANDOMIZE (x)
  19.  start:
  20.  nn = INT(RND(x) * 14 +1)
  21.   a = nn - 7
  22.   REM GOSUB probablity :a = n ' Remove REM to use Probablity Table            
  23.   a = a + z
  24.   IF a < 0 THEN a = a + 12
  25.   IF a > 24 THEN a = a - 12
  26.   ' Second Note Generation
  27.   xx = INT(RND(x) * 8 + 1)
  28.   IF xx = 1 THEN i = 3
  29.   IF xx = 2 THEN i = 5
  30.   IF xx = 3 THEN i = -3
  31.   IF xx = 4 THEN i = -5
  32.   IF xx = 5 THEN i = -7
  33.   IF xx = 6 THEN i = 7
  34.   IF xx = > 6 THEN i = 0
  35.   b = a + (i)
  36.   IF b < 0 THEN b = b + 12
  37.   IF b > 24 THEN b = b - 12
  38.   tone = nt(a) :tone2 = nt(b):z = a
  39.   vl = INT(RND(x) * 50)
  40.   vl = vl - 25
  41.   vl = vl + vl1
  42.   IF vl < 0 THEN vl = vl + 64
  43.   IF vl > 255 THEN vl = vl -64
  44.   s = s + 1
  45.   IF s < 3 THEN tm = 9
  46.   IF s = 3 OR s > 3 THEN tm = 4.5
  47.   laytone = lt(s):laytone2 = lt2(s):vl2 = vlp(s)
  48.   SOUND WAIT
  49.   SOUND  tone, tm ,vl ,0:SOUND tone2, tm,vl,1
  50.   SOUND laytone,tm ,vl2,2: SOUND laytone2,tm ,vl2,3
  51.   SOUND RESUME
  52.   vl = vl1
  53.   lt(s) = tone: lt2(s) = tone2 : vlp(s) = vl
  54.   IF s > 6 THEN s = 0
  55.   
  56.   GOTO start
  57.       
  58. 'Change probablity
  59.  probablity:
  60.  nn = INT(RND(x) * 100 + 1)
  61.  IF nn < 3 THEN n = -12 :RETURN
  62.  IF nn < 5 THEN n = -11 :RETURN
  63.  IF nn < 7 THEN n = -10 :RETURN
  64.  IF nn < 10 THEN n = -9 :RETURN
  65.  IF nn < 13 THEN n = -8 :RETURN
  66.  IF nn < 19 THEN n = -7 :RETURN
  67.  IF nn < 20 THEN n = -6 :RETURN
  68.  IF nn < 26 THEN n = -5 :RETURN
  69.  IF nn < 31 THEN n = -4 :RETURN
  70.  IF nn < 36 THEN n = -3 :RETURN
  71.  IF nn < 42 THEN n = -2 :RETURN
  72.  IF nn < 48 THEN n = -1 :RETURN
  73.  IF nn < 54 THEN n = 0 :RETURN
  74.  IF nn < 60 THEN n = 1 :RETURN
  75.  IF nn < 66 THEN n = 2 :RETURN
  76.  IF nn < 71 THEN n = 3 :RETURN
  77.  IF nn < 76 THEN n = 4 :RETURN
  78.  IF nn < 82 THEN n = 5 :RETURN
  79.  IF nn < 83 THEN n = 6 :RETURN
  80.  IF nn < 89 THEN n = 7 :RETURN
  81.  IF nn < 92 THEN n = 8 :RETURN
  82.  IF nn < 95 THEN n = 9 :RETURN
  83.  IF nn < 97 THEN n = 10:RETURN
  84.  IF nn < 99 THEN n = 11:RETURN
  85.  nn = 12: RETURN
  86.  
  87.